package net.csdn.business.mirror.entity.bo.github;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

@Data
public class RepositoryBO {
    private String url;
    private long id;
    @JsonProperty("node_id")
    private String nodeId;
    @JsonProperty("created_at")
    private String createdAt;
    @JsonProperty("updated_at")
    private String updatedAt;

    @JsonProperty("full_name")
    private String fullName;
    private String name;
    @JsonProperty("private")
    private Boolean _private;
    private String description;
    private String homepage;
    @JsonProperty("html_url")
    private String htmlUrl;
    @JsonProperty("git_url")
    private String gitUrl;
    @JsonProperty("ssh_url")
    private String sshUrl;
    @JsonProperty("clone_url")
    private String cloneUrl;
    @JsonProperty("svn_url")
    private String svnUrl;
    @JsonProperty("mirror_url")
    private String mirrorUrl;
    private String visibility;
    @JsonProperty("forks_count")
    private int forksCount;
    @JsonProperty("stargazers_count")
    private int stargazersCount;
    @JsonProperty("watchers_count")
    private int watchersCount;
    private int size;
    @JsonProperty("open_issues_count")
    private int openIssuesCount;
    @JsonProperty("subscribers_count")
    private int subscribersCount;
    @JsonProperty("default_branch")
    private String defaultBranch;
    private UserBO owner;
//    private GHLicense license;
//    private GHUser owner;
//    private boolean has_issues;
//    private boolean has_wiki;
//    private boolean fork;
//    private boolean has_downloads;
//    private boolean has_pages;
//    private boolean archived;
//    private boolean disabled;
//    private boolean has_projects;
//    private boolean allow_squash_merge;
//    private boolean allow_merge_commit;
//    private boolean allow_rebase_merge;
//    private boolean delete_branch_on_merge;
//    private String pushed_at;
//    private Map<Integer, GHMilestone> milestones = Collections.synchronizedMap(new WeakHashMap());
//    private String language;
//    private Map<String, GHCommit> commits = Collections.synchronizedMap(new WeakHashMap());
//    @SkipFromToString
//    private GHRepository.GHRepoPermission permissions;
//    private GHRepository source;
//    private GHRepository parent;
//    private Boolean isTemplate;
//    private boolean compareUsePaginatedCommits;
}
